package dao;

import java.sql.*;

import Datenbankhandler.DBConn;
import interfacedao.IArtikelkaufDAO;

public class ArtikelkaufDAO implements IArtikelkaufDAO{
	 private PreparedStatement ps;
	@Override
	public String kaufen(String benutzer, int wert, int c) {
		
		String ausgabe=" ";
		String eingabe="select Lebensdauer from Artikel where ID='" + c+ "'";
		String eingabe2="insert into Artikel(Lebensdauer,Bieterpreis,Bieter) values(?,?,?)";
		String eingabe3="update Artikel set Lebensdauer= ? where ID = ?";
		String eingabe4="update Artikel set Bieterpreis= ? where ID = ?";
		String eingabe5="update Artikel set Bieter= ? where ID = ?";
		
		// PreparedStatement s = con.prepareStatement( "UPDATE bankkunden SET name = ? WHERE name = ?" );
		
		try{
			Connection conn=DBConn.getConnection();
			Statement st=conn.createStatement();
			ResultSet rs=st.executeQuery(eingabe);
			if(rs.next()){
				if(rs.getInt(1)==0){
					ausgabe="fehler";
					System.out.println("Bereits verkauft");
				}
				else if(rs.getInt(1)==1){
					ps=conn.prepareStatement(eingabe3);
					
					ps.setInt(1, 0);
					ps.setInt(2, c);
					ps.executeUpdate();
					ps=conn.prepareStatement(eingabe4);
					ps.setInt(1, wert);
					ps.setInt(2, c);
					ps.executeUpdate();
					ps=conn.prepareStatement(eingabe5);
					ps.setString(1, benutzer);
					ps.setInt(2, c);
					ps.executeUpdate();
					System.out.println("Erfolgreich gekauft");
					ausgabe="korrekt";
				}
			}	
		}
		catch(SQLException e){
	e.printStackTrace();
	ausgabe="fehler";

		}
		
		return ausgabe;
		// TODO Auto-generated method stub
		
	}
	public String bieten(String benutzer, int wert, int c) {
		String ausgabe=" ";
		String ausgabe2="korrekt";
		int ergebnis=0;
		String eingabe="select Lebensdauer from Artikel where ID='" + c+ "'";
		String eingabe3="update Artikel set Bieterpreis= ? where ID = ?";
		String eingabe5="update Artikel set Bieter= ? where ID = ?";
		String eingabe6="select Bieterpreis from Artikel where ID='" + c +"'";
	
		try{
			Connection conn=DBConn.getConnection();
			Statement st=conn.createStatement();
			ResultSet rs=st.executeQuery(eingabe);
			if(rs.next()){
				if(rs.getInt(1)==0){
					ausgabe="fehler";
					System.out.println("Bereits verkauft");
				}	
				else {
					Statement stt=conn.createStatement();
					ResultSet rss=stt.executeQuery(eingabe6);
					rss.next();
					ergebnis=rss.getInt(1);
					
					if(ergebnis>=wert){
						ausgabe2="fehler";
						
					}
					else{
					
					ps=conn.prepareStatement(eingabe3);
					ps.setInt(1, wert);
					ps.setInt(2, c);
					ps.executeUpdate();
					System.out.println("bin beim bieten");
					ps=conn.prepareStatement(eingabe5);
					ps.setString(1, benutzer);
					ps.setInt(2, c);
					ps.executeUpdate();
					System.out.println("Erfolgreich geboten");
					ausgabe="korrekt";
				}
		}
		}
		}
			
		
		
		catch(SQLException e){
			e.printStackTrace();
			ausgabe="fehler";
		}
		if(!(ausgabe2.equals(ausgabe))){
			ausgabe=ausgabe2;
		}
		// TODO Auto-generated method stub
		return ausgabe;
	}
}
	


